<?php namespace Model;

class Productos extends Model {

	protected static $primaryKey = array("id");

	protected static $fields = array("id",
			"nombre",
			"descripcionCorta",
			"descripcion",
			"imagen",
			"activo",
			"portada",
			"seccion_id");

	protected static $foreignKeys = array("secciones" => array("seccion_id" => "id"));

	public function guardarProducto($formulario,$imagen) {
			
		$valores["nombre"] = $formulario["name"];
		$valores["seccion_id"] = $formulario["section"];
		$valores["activo"] = isset($formulario["active"]) ? 1 : 0;
		$valores["portada"] = isset($formulario["cover"]) ? 1 : 0;
		$valores["descripcion"] = $formulario["description"];
		$valores["descripcionCorta"] = $formulario["shortdescription"];
		$valores["imagen"] = $this->_generarImagenProducto($imagen);

		return $this->save($valores);
	}
	
	public function actualizarProducto($formulario,$imagen) {
			
		$valores["id"] = $formulario["id"];
		$valores["nombre"] = $formulario["name"];
		$valores["seccion_id"] = $formulario["section"];
		$valores["activo"] = isset($formulario["active"]) ? 1 : 0;
		$valores["portada"] = isset($formulario["cover"]) ? 1 : 0;
		$valores["descripcion"] = $formulario["description"];
		$valores["descripcionCorta"] = $formulario["shortdescription"];

		if(is_uploaded_file($imagen["image"]["tmp_name"])) {
			$this->_borrarImagenProducto($formulario["id"]);
			$valores["imagen"] = $this->_generarImagenProducto($imagen);		
		}
	
		$this->save($valores);
	}

	public function borrarProducto($formulario) {
		$id = $formulario["id"];
		$this->_borrarImagenProducto($id);
		$this->deleteById($id);
	}
	
	private function _generarImagenProducto($img) {
		if(is_uploaded_file($img["image"]["tmp_name"])) {
			$name = uniqid();
			$destination = "../public/images/".$name.".jpg";
			move_uploaded_file($img["image"]["tmp_name"], $destination);
			return $destination;
		}
	}
	
	private function _borrarImagenProducto($id) {
		$producto = $this->findById($id);
		$imagenVieja = $producto[0]["imagen"];
		unlink($imagenVieja);
	}
}